#pragma once

#include "../DefinesCore.hpp"
#include <string>

CYBERTRON_BEGIN

enum EConsoleColor
{
	EConsoleColor_Black, 
	EConsoleColor_Blue, 
	EConsoleColor_Cyan, 
	EConsoleColor_DarkBlue, 
	EConsoleColor_DarkCyan, 
	EConsoleColor_DarkGray, 
	EConsoleColor_DarkGreen, 
	EConsoleColor_DarkMagenta, 
	EConsoleColor_DarkRed, 
	EConsoleColor_DarkYellow, 
	EConsoleColor_Gray, 
	EConsoleColor_Green, 
	EConsoleColor_Magenta, 
	EConsoleColor_Red, 
	EConsoleColor_White, 
	EConsoleColor_Yellow, 
};

class UtilConsole
{
public:
	CybertronCoreAPI static void setTitle(const std::string& title);
	CybertronCoreAPI static void setColor(
		EConsoleColor foregroundColor, 
		EConsoleColor backgroundColor);

	CybertronCoreAPI static bool getColor(unsigned short& attr);

	CybertronCoreAPI static bool setColor(unsigned short attr);
};

CYBERTRON_END
